1. Technical Field
This invention relates generally to computing networks and, more particularly, to a system and method for a time slot protocol for such computing networks.
2. Description of the Related Art
It is known for real-time systems to utilize point-to-point data buses to ensure that data delivery is deterministic with low jitter. However, with increasing complexity of real-time systems, the use of point-to-point connections becomes impractical, because the number of interconnections becomes unwieldy. Exacerbating the problem is the fact that point-to-point buses use separate transmit and receive media, and quite often require redundancy to ensure availability. Such an approach results in an architecture that creates a “cobweb” of wiring, with devices that require an increased number of parts, both factors driving the cost of a system consistent with such an approach in an upward spiral. One proposed solution to these problems is to use a shared media network. One such shared media approach is known as Ethernet.
Ethernet is a standard networking technology in wide use today. Ethernet, however, suffers from being unpredictable regarding the timely delivery of periodic data. This drawback is due in part to the lack of control on when a device on the network can transmit, and, the method defined by the Ethernet standard to resolve contention for the bus. In particular, Ethernet uses a carrier-sense multiple access with collision detection (CSMA/CD) media access control protocol. Collisions on the bus between two or more devices seeking to transmit at the same time may result in potentially high time latencies for the data sought to be transmitted by stations on the bus. While such high latencies may be tolerated for basic computer data, which in general may comprise asynchronous data, such characteristics are unacceptable for real-time embedded control systems that require communication of data between system elements in a methodical, deterministic fashion to perform the intended real-time tasks. A need therefore arises to configure Ethernet to maintain a desired level of determinism and low jitter, as characteristic of conventional point-to-point communication architectures.
One approach in the art that purports to provide a solution to Ethernet's shortcomings involves establishing a reservation system over Ethernet, as seen by reference to U.S. Pat. No. 5,761,430 to Gross et al. entitled “MEDIA ACCESS CONTROL FOR ISOCHRONOUS DATA PACKETS IN CARRIER SENSING MULTIPLE ACCESS SYSTEMS.” Gross et al. disclose a reservation system wherein two communication “channels” are time division multiplexed (TDM) over the shared media. One “channel” is asynchronous and is provided for allowing devices connected to the shared media to submit requests for bandwidth to a master device (a “conductor”). The second “channel” on the shared media has a plurality of time intervals and is provided for carrying isochronous data packets generated by the various devices in the specific order arranged by the conductor, based on the reservation requests (the order being set forth in a reservation list). The two “channels” together define a frame, which is repeated over and over. A problem with the system proposed in Gross et al. relates to the synchronization scheme. In particular, synchronization in Gross et al. relies on a timing packet broadcast by the conductor (the timing packet also includes the reservation list). Transmission of packets by the various devices on the network are triggered directly off of the timing packet, in combination with timers and the like in the devices, all operating according to the reservation list (and certain deferral times). Gross et al. assume that precision timing corrections are made (i.e., propagated) throughout the network on a frame-by-frame basis, which may not, in-fact, occur with a needed degree of certainty. The resulting timing uncertainty and undesirably large amounts of jitter may affect the performance of the system disclosed in Gross et al. While such performance shortcomings may be tolerated from time-to-time when the payload being carried involves audio and/or video data, such shortcomings are generally unacceptable for real-time embedded control systems, especially where safety is concerned.
Another problem with the system in Gross et al. is that it is not strictly deterministic. Specifically, access to the network requires that both (i) a request be made during a reservation phase (i.e., which may be unsuccessful due to its asynchronous nature, which can result in possible collisions), and (ii) that the conductor actually grant the request and place the device on the reservation list for the next frame (this is not guaranteed to happen). That is, in the system of Gross et al., there can be no absolute assurance that each device will be allowed access to the shared media every frame.
Still another problem with Gross et al. is the mechanism used by the network devices for determining when it is permissible to transmit. Gross et al. disclose a deferral time associated with each device corresponding to the priority or scheduled order of transmission on the bus. A timer counts its designated deferral time so long as the bus is quiescent. If the timer completely counts down its deferral time, it can transmit. Otherwise, if the device detects activity on the bus, it restarts its timer countdown of the deferral time. This approach introduces inefficiencies and uncertainty into the transmission process.
Another approach disclosed in the art involves time division into a plurality of frames wherein each frame contains a plurality of dedicated time slots or “phases” during which real-time traffic may be transmitted, as disclosed in U.S. Pat. No. 6,246,702 issued to Fellman et al. entitled “METHODS AND APPARATUS FOR PROVIDING QUALITY-OF-SERVICE GUARANTEES IN COMPUTER NETWORKS.” In Fellman et al., each of the phases is assigned to a respective device adapter. Each of the device adapters is allowed to transmit packets only during the assigned phase. One problem with the system of Fellman et al. is that is focuses on latency introduced by unknown network configurations, taken on a near-end-to-far-end basis. And while Fellman et al. recognizes the problem of variation in clock frequency on a device-to-device basis, which can cause drift one device relative to another, resulting in collisions, the solution proposed by Fellman et al. is restrictive. Particularly, the solution proposed by Fellman et al. involves the use of a specialized variable crystal oscillator (VXO), thus requiring specialized hardware, increasing cost and complexity.
Another problem with Fellman et al. involves the mechanisms for handling synchronization failures. In particular, the system of Fellman et al., if a synchronization mismatch occurs, relies on the underlying CSMA/CD Ethernet protocol to recover from collisions. Fellman et al. disclose that there should be no collisions so long as the phase overlap does not exceed the time duration of a minimum-size packet. However, as referred to above, in real-time embedded control systems, such a loss of deterministic access to the network is unacceptable. For example, a “babbling” node (i.e., a misbehaving node) could bring down such a network.
Accordingly, there is a need for a system and method for allowing deterministic access to a shared network media that minimizes or eliminates one or more of the problems set forth above.